/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package action;

import java.io.*;
import java.util.List;
import javax.servlet.*;
import javax.servlet.http.*;
import negocio.UsuarioManager;
import persistencia.pojo.Usuario;

/**
 *
 * @author Victor
 */
public class BuscarUsuarioAction extends HttpServlet {

    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String tipo_bus = request.getParameter("tipo_bus");
        String dato_bus = request.getParameter("dato_bus");
        String pag_actual = request.getParameter("pag_actual");
        String strColTabla = null;
        if (tipo_bus.equals("C")) {
            strColTabla = "co_usuario";
        } else if (tipo_bus.equals("N")) {
            strColTabla = "no_usuario";
        } else {
            mensaje(response, "Error obteniendo información.");
            return;
        }

        String filasResul = "";
        try {

            UsuarioManager mgr = new UsuarioManager();
            List<Usuario> listadoUsuarios = mgr.getUsuariosWhere(strColTabla, dato_bus, pag_actual);

            for (int i = 0; i < listadoUsuarios.size(); i++) {
                filasResul += filaResultado(listadoUsuarios.get(i).getCodigo(), listadoUsuarios.get(i).getNombre(), listadoUsuarios.get(i).getApellido(), listadoUsuarios.get(i).getTx_tipo_usuario(), listadoUsuarios.get(i).getCorreo_usuario());
            }

            Dibujatabla(response, filasResul);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private void mensaje(HttpServletResponse response, String mensaje) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        try {

            out.println(mensaje);
            out.flush();
        } finally {
            out.close();
        }
    }

    private void Dibujatabla(HttpServletResponse response, String strFilasResul) throws ServletException, IOException {
        PrintWriter out = response.getWriter();
        try {
            String strTabla = "<table width=\"800px\" border=\"2\">";
            strTabla += "<tr>";
            strTabla += "<td bgcolor=\"#81BEF7\"align=\"center\">Codigo</td>";
            strTabla += "<td bgcolor=\"#81BEF7\"align=\"center\">Nombre</td>";
            strTabla += "<td bgcolor=\"#81BEF7\"align=\"center\">Apellidos</td>";
            strTabla += "<td bgcolor=\"#81BEF7\"align=\"center\">Tipo de Usuario</td>";
            strTabla += "<td bgcolor=\"#81BEF7\"align=\"center\">Correo</td>";
            strTabla += "</tr>";
            strTabla += strFilasResul;
            strTabla += "</table>";

            out.println(strTabla);
            out.flush();
        } finally {
            out.close();
        }
    }

    private String filaResultado(String codigo, String nombre, String apellidos, String tipo_usuario, String correo) {
        String fila = "<tr>";
        fila += "<td>" + codigo + "</td>";
        fila += "<td>" + nombre + "</td>";
        fila += "<td>" + apellidos + "</td>";
        fila += "<td>" + tipo_usuario + "</td>";
        fila += "<td>" + correo + "</td>";
        fila += "</tr>";

        return fila;
    }
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">

    /**
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     */
    public String getServletInfo() {
        return "Short description";
    }
    // </editor-fold>
}
